################################################################################
# 
# r8168 is the Linux device driver released for RealTek RTL8168B/8111B, 
# RTL8168C/8111C, RTL8168CP/8111CP, RTL8168D/8111D, and RTL8168DP/8111DP, and
# RTL8168E/8111E Gigabit Ethernet controllers with PCI-Express interface.
# 
# Copyright(c) 2011 Realtek Semiconductor Corp. All rights reserved.
# 
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
# 
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
# more details.
# 
# You should have received a copy of the GNU General Public License along with
# this program; if not, see <http://www.gnu.org/licenses/>.
# 
# Author:
# Realtek NIC software team <nicfae@realtek.com>
# No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan
# 
################################################################################

################################################################################
# This product is covered by one or more of the following patents:
# US5,307,459, US5,434,872, US5,732,094, US6,570,884, US6,115,776, and US6,327,625.
################################################################################

CC		:= gcc
LD		:= ld
ARCH		:= $(shell uname -m | sed 's/i.86/i386/')
KSRC		:= /lib/modules/$(shell uname -r)/build
CONFIG_FILE	:= $(KSRC)/include/linux/autoconf.h
KMISC		:= /lib/modules/$(shell uname -r)/kernel/drivers/net/


ifeq ($(ARCH),x86_64)
   MODCFLAGS	+= -mcmodel=kernel -mno-red-zone
endif

#standard flags for module builds
MODCFLAGS	+= -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall
MODCFLAGS	+= -I$(KSRC)/include -I.
MODCFLAGS	+= -DMODVERSIONS -DEXPORT_SYMTAB -include $(KSRC)/include/linux/modversions.h
SOURCE		:= r8168_n.c r8168_asf.c rtl_eeprom.c rtltool.c
OBJS		:= $(SOURCE:.c=.o)


SMP		:= $(shell $(CC) $(MODCFLAGS) -E -dM $(CONFIG_FILE) | \
   grep CONFIG_SMP | awk '{print $$3}')

ifneq ($(SMP),1)
   SMP		:= 0
endif

ifeq ($(SMP),1)
   MODCFLAGS	+= -D__SMP__
endif

modules: $(OBJS)
	$(LD) -r $^ -o r8168.o
	strip --strip-debug r8168.o

%.o: %.c
	$(CC) $(MODCFLAGS) -c $< -o $@ 

clean:
	rm *.o -f

install:
	install -m 744 -c r8168.o $(KMISC)
